package com.lantosec.hmrp.modules.eval.vo;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.lantosec.hmrp.modules.eval.entity.EvalApplyDetail;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 奖惩申报项目明细 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-06-23
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="EvalApplyDetail对象", description="奖惩申报项目明细")
public class EvalApplyDetailVO extends BaseVO<EvalApplyDetail> {
    private static final long serialVersionUID = 1L;


    public EvalApplyDetailVO(EvalApplyDetail entity){
        this.evalApplyDetailId = entity.getEvalApplyDetailId();
        this.evalApplyId = entity.getEvalApplyId();
        this.evalItemId = entity.getEvalItemId();
        this.rewardOrientation = entity.getRewardOrientation();
        this.rewardStandard = entity.getRewardStandard();
        this.rewardUpLimit = entity.getRewardUpLimit();
        this.rewardLowLimit = entity.getRewardLowLimit();
        this.chargeUserId = entity.getChargeUserId();
        this.chargeUser = entity.getChargeUser();
        this.rewardType = entity.getRewardType();
        this.rewardValue = entity.getRewardValue();
        this.eventDate = entity.getEventDate();
        this.eventDescribe = entity.getEventDescribe();
        this.photoList = entity.getPhotoList();
        this.targetMode = entity.getTargetMode();
        this.targetDeptId = entity.getTargetDeptId();
        this.targetDept = entity.getTargetDept();
        this.targetUserId = entity.getTargetUserId();
        this.targetUser = entity.getTargetUser();
        this.deptAuditorId = entity.getDeptAuditorId();
        this.deptAuditor = entity.getDeptAuditor();
        this.deptAuditTime = entity.getDeptAuditTime();
        this.finAuditorId = entity.getFinAuditorId();
        this.finAuditor = entity.getFinAuditor();
        this.finAuditTime = entity.getFinAuditTime();
        this.auditState = entity.getAuditState();
    }

    @Override
    public EvalApplyDetail convertToEntity(){
        return new EvalApplyDetail(this);
    }


    @ApiModelProperty(value = "主键ID")
    @TableId(value = "eval_apply_detail_id", type = IdType.AUTO)
    private Integer evalApplyDetailId;

    @ApiModelProperty(value = "奖惩申报ID")
    private Integer evalApplyId;

    @ApiModelProperty(value = "考评项目ID")
    private String evalItemId;

    @ApiModelProperty(value = "项目类型(1分 2钱)")
    private Integer rewardOrientation;

    @ApiModelProperty(value = "项目标准值")
    private BigDecimal rewardStandard;

    @ApiModelProperty(value = "项目得分上限")
    private BigDecimal rewardUpLimit;

    @ApiModelProperty(value = "项目得分下限")
    private BigDecimal rewardLowLimit;

    @ApiModelProperty(value = "项目负责人ID")
    private String chargeUserId;

    @ApiModelProperty(value = "项目负责人")
    private String chargeUser;

    @ApiModelProperty(value = "奖惩形式(1奖 2惩)")
    private Integer rewardType;

    @ApiModelProperty(value = "奖惩值(正为奖 负为惩)")
    private BigDecimal rewardValue;

    @ApiModelProperty(value = "事件发生日期(yyyy-mm-dd)")
    private String eventDate;

    @ApiModelProperty(value = "事件描述")
    private String eventDescribe;

    @ApiModelProperty(value = "附件图片")
    private String photoList;

    @ApiModelProperty(value = "责任对象类型(1科室 3个人)")
    private Integer targetMode;

    @ApiModelProperty(value = "责任科室ID")
    private String targetDeptId;

    @ApiModelProperty(value = "责任科室")
    private String targetDept;

    @ApiModelProperty(value = "责任人ID")
    private String targetUserId;

    @ApiModelProperty(value = "责任人")
    private String targetUser;

    @ApiModelProperty(value = "科室审核人ID")
    private String deptAuditorId;

    @ApiModelProperty(value = "科室审核人")
    private String deptAuditor;

    @ApiModelProperty(value = "科室审核时间")
    private Date deptAuditTime;

    @ApiModelProperty(value = "最终审核人ID")
    private String finAuditorId;

    @ApiModelProperty(value = "最终审核人")
    private String finAuditor;

    @ApiModelProperty(value = "最终审核时间")
    private Date finAuditTime;

    @ApiModelProperty(value = "审核状态(0待审核 1科室审核通过 2最终审核通过 3审核不通过)")
    private Integer auditState;

    @ApiModelProperty(value = "图片存放路径")
    private List<String> savepath;
    @ApiModelProperty(value = "申报标题")
    private String applyTitle;
    @ApiModelProperty(value = "考评项目名称")
    private String evalItemName;
    @ApiModelProperty(value = "考评标准")
    private String standard;
    @ApiModelProperty(value = "申报人名称")
    private String applyUser;
    @ApiModelProperty(value = "申报人时间")
    private Date apply_time;
    @ApiModelProperty(value = "项目内容")
    private String evalItemContent;
}
